define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'seckill/index' + location.search,
                    add_url: 'seckill/add',
                    edit_url: 'seckill/edit',
                    del_url: 'seckill/del',
                    multi_url: 'seckill/multi',
                    import_url: 'seckill/import',
                    table: 'seckill',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                        {field: 'str_time', title: __('Str_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'goods_ids', title: __('Goods_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        recyclebin: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    'dragsort_url': ''
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: 'seckill/recyclebin' + location.search,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'name', title: __('Name'), align: 'left'},
                        {
                            field: 'deletetime',
                            title: __('Deletetime'),
                            operate: 'RANGE',
                            addclass: 'datetimerange',
                            formatter: Table.api.formatter.datetime
                        },
                        {
                            field: 'operate',
                            width: '140px',
                            title: __('Operate'),
                            table: table,
                            events: Table.api.events.operate,
                            buttons: [
                                {
                                    name: 'Restore',
                                    text: __('Restore'),
                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
                                    icon: 'fa fa-rotate-left',
                                    url: 'seckill/restore',
                                    refresh: true
                                },
                                {
                                    name: 'Destroy',
                                    text: __('Destroy'),
                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
                                    icon: 'fa fa-times',
                                    url: 'seckill/destroy',
                                    refresh: true
                                }
                            ],
                            formatter: Table.api.formatter.operate
                        }
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },

        add: function () {
            Controller.api.bindevent();
            $(document).on("click", ".fachoosetable", function () {
                var that = this;
                //获取该界面的前端页面传来的line（前端展示的是data-line）
                var line = $(this).data("line") ? $(this).data("line") : false;
                //获取该界面的前端界面传来的url
                var product_id = $("#c-product_id").val();
                var url = $(this).data("url") ? $(this).data("url") : (typeof Backend !==
                'undefined' ? "service/goods?product_id=": "");
                //打开弹窗
                // console.log(product_id)
                //parent.Fast.api.open(url + "?line=" + line + "&product_id="+product_id, __('Choose'), {
                tables_list=[];
                parent.Fast.api.open(url + product_id, __('Choose'), {
                    //回传值
                    callback: function (data) {
                        console.log("返回数据"+data);
                        console.log(line);
                        $.ajax({
                            url: 'service/goods/selectQr?ids='+data,
                            type: 'GET',
                            dataType: 'json',
                            data: {},
                            success: function (res) {
                                res.forEach(r=>{
                                    tables_list.push(
                                        {
                                            name:r.name,
                                            product_name:r.product_name,
                                            costmode_name:r.cost_name,
                                            cost_money:r.cost_money,
                                            qi:r.qi,
                                            id:r.id,
                                        }
                                    );
                                });
                                getListtbody();
                            }
                        });
                        let su = 0;
                        function getListtbody(){
                            var html='';
                            console.log(6666,tables_list);
                            tables_list.forEach((r,index)=>{
                                su += 1;
                                html+='<tr >';
                                html+='<td> <input type="text" id="name'+su+'" className="form-control" data-line="<%='+su+'%>" name="row[linedetail]['+su+'][name]" value="'+r.name+'" style="width: 170px"/></td>';
                                html+='<td> <input type="text" id="product_name<%='+su+'%>" className="form-control" data-line="<%='+su+'%>" name="row[linedetail]['+su+'][product_name]" value="'+r.product_name+'" style="width: 170px"/></td>';
                                html+='<td> <input type="text" id="costmode_name<%='+su+'%>" className="form-control" data-line="<%='+su+'%>" name="row[linedetail]['+su+'][costmode_name]" value="'+r.costmode_name+'" style="width: 170px"/></td>';
                                html+='<td> <input type="text" onblur = "cost_money()" id="cost_money'+su+'" className="form-control" data-line="<%='+su+'%>" name="row[linedetail]['+su+'][cost_money]" value="'+r.cost_money+'" style="width: 70px"/></td>';

                                html+='<td> <span class="btn btn-sm btn-danger btn-removeline"><i class="fa fa-times"></i></span> </td>';

                                html+='</tr>';
                            });
                            $('.lyj_tbody').html(html);
                            var len = $('#linetable tr').length;
                            console.log("lllllll"+len);
                            var cost_money_sun = 0;
                            for (var i = 1; i < len - 1; i++) {
                                var cost_money = $("#cost_money"+i).val();
                                cost_money_sun = Number(cost_money_sun) + Number(cost_money);
                                /*$('#linetable tr:eq(' + i + ') td:first').find('input').val(i);*/
                                //查找id为table的表格内索引为i的行中的第一个单元格，然后将索引i设置为文本内容。
                                //tr:eq(' + i + ') 是一个用于选择HTML元素的jQuery选择器，意思是选取序号为i的表格行（table row）。
                            }

                            $('#all_quantity').val(cost_money_sun);
                        }
                        /* //直接给页面的该行数据定义值
                         $("#factory_title"+line).val(data.row.factory_title);
                         $("#product_name"+line).val(data.row.product_name);
                         $("#costmode_name"+line).val(data.row.cost_name);
                         $("#cost_money"+line).val(data.row.cost_money);*/

                        var len = $('#linetable tr').length;
                        console.log(len);
                        var cost_money_sun = 0;
                        for (var i = 1; i < len - 1; i++) {
                            var cost_money = $("#cost_money"+i).val();
                            cost_money_sun = Number(cost_money_sun) + Number(cost_money);
                            /*$('#linetable tr:eq(' + i + ') td:first').find('input').val(i);*/
                            //查找id为table的表格内索引为i的行中的第一个单元格，然后将索引i设置为文本内容。
                            //tr:eq(' + i + ') 是一个用于选择HTML元素的jQuery选择器，意思是选取序号为i的表格行（table row）。
                        }

                        $('#all_quantity').val(cost_money_sun);
                    }
                });
                return false;
            });
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});
